package cc.mrbird.febs.customer.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 前台用户表
 * </p>
 *
 * @author Macw
 * @since 2020-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_customer")
public class Customer implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "customer_ID", type = IdType.AUTO)
    private Long customerId;

    /**
     * 联系电话
     */
    @TableField("MOBILE")
    private String mobile;

    /**
     * 状态 0锁定 1有效
     */
    @TableField("STATUS")
    private String status;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField("MODIFY_TIME")
    private LocalDateTime modifyTime;

    /**
     * 最近访问时间
     */
    @TableField("LAST_LOGIN_TIME")
    private LocalDateTime lastLoginTime;

    /**
     * 值为1时是男性，值为2时是女性，值为0时是未知
     */
    private Integer sex;

    /**
     * 头像
     */
    private String headimgurl;

    /**
     * 用户的唯一标识

     */
    private String openid;

    /**
     * 用户昵称

     */
    private String nickname;

    /**
     * 用户个人资料填写的省份
     */
    private String province;

    /**
     * 普通用户个人资料填写的城市
     */
    private String city;

    /**
     * 国家，如中国为CN
     */
    private String country;

    /**
     * 用户特权信息，json 数组，如微信沃卡用户为（chinaunicom）
     */
    private String privilege;

    /**
     * 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段。
     */
    private String unionid;

    /**
     * 真实姓名
     */
    private String trueName;

    /**
     * 客户上级id（分销父id，0顶级）分销单次有效，支付后取消父子关联
     */
    private Integer pid;

    /**
     * 用户钱包
     */
    private BigDecimal wallet;

    /**
     * 奖金
     */
    @TableField(exist = false)
    private BigDecimal price;

    @TableField(exist = false)
    private String pName;

    @TableField(exist = false)
    private String headPhoto;

    @TableField(exist = false)
    private String activityName;

    /**
     * 本次提现金额
     */
    @TableField(exist = false)
    private BigDecimal withdrawPrice;

    /**
     * 推广人数
     */
    @TableField(exist = false)
    private Integer bonusNumber;

}
